package com.itheim.task;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * @author: itheima
 * @create: 2022-08-07 09:26
 */
@Component
public class TaskDemo {

    /**
     * 任务逻辑
     */        //  秒 分 时 日（天） 月 周（星期） 年（可选）   ?放在了 周 位置 年可不写 本域（七个域秒分时日周年）不参与时间的制定只要其他的满足就执行    写 ？是为避免写一些错误表达式 无法执行的东西
    @Scheduled(cron = "* * * * * ?")   // 如cron = "0/5 * * * * ?"  表示从0秒开始递增 每隔5秒执行一次   如 10秒20秒30秒等是都到了0  到0后每隔5秒执行一次
   // * 表该域上所有合法值 如秒 是* 表0-59秒内任一秒都满足执行 其他同理
    public void test() {
        System.out.println(new Date() + ",任务执行了");
        注意运行会死循环电脑死机 开一个测一下立马关掉
    }
}
//@Scheduled(cron = "1,4,5,8,20,40 * * * * ?") 表示 每分钟（因为分钟是* 所有可能的值即0-59分都执行）里 1秒执行一次 4秒执行一次...类推 数字是1 则执行是4则执行 不是间隔
//@Scheduled(cron = "40-50 * * * * ?") 从40秒开始（放不同位置含义不同） 每一秒都执行 直到50秒   连续的可 -
//@Scheduled(cron = "* 0/15 * * * ?") 每15分钟执行一次
//@Scheduled(cron = "* 1/15 * * * ?") 从1分钟开始，每隔15分钟执行一次
//@Scheduled(cron = "* * * * 7w ?")  离7号最近的工作日w  执行
//6是周五星期五 7是周六星期天